package com.program.facesigninsystem.service;

import com.program.facesigninsystem.entity.ResponseModel;
import com.program.facesigninsystem.entity.UserInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface IUserInfoService {
    UserInfo loginUser(String openid);
    void updateToken(String uid,String token);
    void addUser(String uid,String openid,String token,String userAvatar,String uid1,String alias);
    void updateUser(String uid,String name,int type,String major,String uclass,String university, String academy,
                    String avatar,String sex,int age,String address,String phone,String email);
    Map<String,Object> selectUser(String uid);
    void addFace(String uid,byte[] facefeature,String createTime);
    void updateAvatar(String uid,String avatar,String alias);
    byte[] selectFaceFeature(String uid);
    List<Map<String,Object>> selectFaceFeatures(String uid);
    Object selectAdmin(String user,String password);
    void adminToken(String user,String token);
    List<Map<String,Object>> selectList(String name,String university, String academy);
    void updateUserType(String uid,int type);
    void updateIssued(String uid);
    void addTempList(String lid,String uid);
    List<Map<String,String>> selectTempList(String lid);
    void deleteTempList(String lid);
    String selectFaceInfo(String uid);
    UserInfo selectByUid1(String uid1);
    void updatePassword(String uid1,String password,String salt);
    Map<String,Object> selectU(String uid1);
    void updateBindId(String uid,int bindId);
    void updateIsExamine(String uid,int isExamine);
    void updateRoleId1(String uid,int roleId);
    List<UserInfo> selectUnExamine();
    void updateRoleId(int bindid,int roleid);
    UserInfo selectByBindid(int bindid);
    Map<String,Object> selectExamine(String uid);
    void insertResult(String uid, String result, String reason, String examTime);
    List<Map<String,Object>> selectResultList(String uid);
    void updateIsRead(String uid, int id);
    ResponseModel selectCreateTime(String uid);
    ResponseModel sendMail(String subject, String content, MultipartFile image);
}
